package cn.itsource.basic.utils;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 控制层公共的json数据返回实体类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AjaxResult {

    private String code;       // 状态码
    private String message;    // 信息
    private Boolean success;   // 状态
    private Object data;       // 数据


    /**
     * 返回成功的数据
     * @return
     */
    public static AjaxResult createSuccess(){
        return new AjaxResult("0000","成功",true,null);
    }

    /**
     * 返回成功的数据
     * @return
     */
    public static AjaxResult createSuccess(Object obj){
        return new AjaxResult("0000","成功",true,obj);
    }

    /**
     * 返回失败的数据
     * @param msg
     * @return
     */
    public static AjaxResult createError(String msg){
        return new AjaxResult("1001",msg,false,null);
    }

    /**
     * 返回失败的数据
     * @param msg           这是给用户看的
     * @return
     *
     *    错误码就是帮助程序员或者运维人员快速定位错误
     */
    public static AjaxResult createError(String code,String msg){
        return new AjaxResult(code,msg,false,null);
    }
}
